package cn.tedu.mall.product.redis.repo;

import cn.tedu.mall.pojo.product.vo.BrandStandardVO;
import cn.tedu.mall.pojo.product.vo.CategoryStandardVO;

import java.util.List;

/**
 * 访问Redis中的类别数据的接口
 */
public interface ICategoryRedisRepository extends IRedisRepository<CategoryStandardVO> {

    /**
     * 将根据品牌匹配的类别列表写入到Redis
     *
     * @param brandId      品牌id
     * @param categoryList 类别列表
     */
    void setListForBrand(Long brandId, List<CategoryStandardVO> categoryList);

    /**
     * 根据品牌获取类别列表
     *
     * @param brandId 品牌id
     * @return 类别列表
     */
    List<CategoryStandardVO> listByBrand(Long brandId);

    /**
     * 将根据父级类别匹配的类别列表写入到Redis
     *
     * @param parentId     父级类别id
     * @param categoryList 类别列表
     */
    void setListForParent(Long parentId, List<CategoryStandardVO> categoryList);

    /**
     * 根据父级类别获取类别列表
     *
     * @param parentId 父级类别id
     * @return 类别列表
     */
    List<CategoryStandardVO> listByParent(Long parentId);

}
